Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- JINRI TOUTIAO



  Why using + to concatenate string in Java loop is not a good option

String concatenation is a common operation in Java programming. It is to concatenate multiple strings into a single string. Java provides a String class which is an immutable class which means the object cannot be mutated once instantiated. Once a String object is instantiated, its properties cannot be changed anymore, so when concatenating strings, it's actually create a new String instance to store the concatenated string values. For example, below is a simple string concatenation example. Str...

   JAVA,STRING,JAVA 8     2019-01-18 22:07:12

  Why accessing Java HashMap may cause infinite loop in concurrent environment

HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...

   JAVA,HASHMAP,INFINITE LOOP     2020-03-29 01:47:00

  How to use xargs command in Linux

What is the xargs command? The xargs command constructs and executes commands provided through standard input. It takes input and converts it into command arguments for another command. This functionality is particularly useful in file management and can be combined with commands like rm, cp, mkdir, and others. Using the xargs command When used alone, the xargs command prompts the user to enter a text string and then passes it to the echo command. This example demonstrates the input provided an...

   XARGS,LINUX     2023-11-17 11:19:41

  Resolve high CPU usage issue caused by file_get_contents in PHP

Sometimes a Linux server which runs Nginx + PHP-CGI(php-fpm) web service may experience sudden system load increase and the CPU usage is around 100% for many php-cgi processes when checking with top command. If this happens, file_get_contents may be the cause if it's used in the PHP script. In lots of web applications, normally there are lots of API requests based on HTTP. Many PHP developers like to use file_get_contents("http://example.com/") to get the API response because it's simple to...

   PHP,FILE_GET_CONTENTS,PHP-CGI     2018-11-09 21:35:00

  A journey to investigate a goroutine leakage case

In Go, creating goroutines is straightforward, but improper usage may result in a large number of goroutines unable to terminate, leading to resource leakage and memory leaks over time. The key to avoiding goroutine leaks is to manage the lifecycle of goroutines properly. By exporting runtime metrics and utilizing pprof, one can detect and resolve goroutine leakage issues. This post will go through one real case encountered by the author. The author maintains a service that connects to a targe...

   TIMEOUT,SSH,GUIDE,DEBUG,LEAK,GOROUTINE,PPROF,GOLANG     2024-03-16 11:00:23

  Why is single threaded Redis so fast

Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...

   REDIS,SINGLE-THREADED,MULTI-THREADING     2023-02-28 05:16:22

  What is goroutine?

Casual Talk Golang is quite enjoyable to write, aside from the tedious if err != nil checks. One of the fundamental reasons for the joy is goroutine, a core feature of Golang. Understanding goroutines in detail is worthwhile, as they contribute significantly to the pleasure of working with Golang. So, let's talk about goroutines, hoping to provide some insights to the readers. TL;DR: We'll start by talking about assembling a computer, then delve into some concepts of the operating system, such ...

   EXPLANATION,GOLANG,GOROUTINE     2024-01-21 03:26:10

  Let's talk about JavaScript deep clone

In JavaScript, deep clone means creating a brand new object that includes all nested objects, with all properties being completely independent copies. This is different from shallow copying, which only copies the first-level properties, with nested objects being referenced rather than copied. There are multiple ways to perform deep copying in JavaScript, but the best one to use depends on the specific use case. Can use JSON.parse & JSON.stringify? ❌ JSON.parse(JSON.stringify(obj)) is a dep...

   JAVASCRIPT,DEEP CLONE     2023-02-25 08:57:11

  Is Toutiao taking general content creators seirously?

Tiktok is now very popular among the Z-generation around the world. This is an app created by the Chinese company ByteDance. In China, the Chinese version of Tiktok called Douyin is not the only popular app created by ByteDance, there are a few other apps created by ByteDance are also popular such as Jinri Toutiao, a news app famous for its recommendation algorithm similar to Tiktok, also Huoshan Video, another video app similar to YouTube. This Toutiao app encourages general people to create co...

   JINRI TOUTIAO,CONTENT CREATION,TOUTIAO,BYTEDANCE     2021-10-03 01:10:27

  4 deployment modes of Redis

As a high-performance in-memory database, Redis is widely used in current mainstream distributed architecture systems. To improve system fault tolerance, using multiple instances of Redis is also inevitable, but the complexity is much higher than that of a single instance. This article mainly introduces the four deployment modes of Redis and their advantages and disadvantages. Standalone Standalone mode is to install a Redis, start it, and business connects to it and that's all. The specific ...

   REDIS,STANDALONE,MASTER-SLAVE,SENTINEL,CLUSTER     2023-03-03 21:35:09